#include <iostream>
#include <string>
#include <cmath>

using namespace std;

// Функция для определения, является ли число простым
bool isPrime(int num) {
    if (num <= 1) return false;
    if (num <= 3) return true;
    if (num % 2 == 0 || num % 3 == 0) return false;
    for (int i = 5; i * i <= num; i += 6) {
        if (num % i == 0 || num % (i + 2) == 0) return false;
    }
    return true;
}

// Функция для преобразования слова в число
int wordToNumber(const string& word) {
    if (word == "zero") return 0;
    if (word == "one") return 1;
    if (word == "two") return 2;
    if (word == "three") return 3;
    if (word == "four") return 4;
    if (word == "five") return 5;
    if (word == "six") return 6;
    if (word == "seven") return 7;
    if (word == "eight") return 8;
    if (word == "nine") return 9;
    return -1; // Если слово не соответствует числу
}

int main() {
    string word1, word2, word3;
    cin >> word1 >> word2 >> word3;

    // Проверяем, что все слова являются цифрами
    int num1 = wordToNumber(word1);
    int num2 = wordToNumber(word2);
    int num3 = wordToNumber(word3);

    // Проверяем, что все слова были успешно преобразованы в числа
    if (num1 == -1 || num2 == -1 || num3 == -1) {
        cout << "Wrong input" << endl;
        return 0;
    }

    // Собираем трёхзначное число из полученных цифр
    int number = num1 * 100 + num2 * 10 + num3;

    // Ищем ближайшее простое число, начиная с number и двигаясь в обе стороны
    int lower = number - 1;
    int upper = number + 1;
    while (!isPrime(lower)) {
        lower--;
    }
    while (!isPrime(upper)) {
        upper++;
    }

    // Выводим наименьшее из найденных простых чисел
    cout << (number - lower <= upper - number ? lower : upper) << endl;

    return 0;
}